1. Field of the Invention
The present invention relates generally to wireless networks and location based services, and in particular, to a method, apparatus, and article of manufacture for using spatial triggers in a wireless network to provide a location based service.
2. Description of the Related Art
Wireless networks currently have the capability to detect the location/position of a mobile station (e.g., mobile phones, wireless personal digital assistants, etc.). A location-based application/service (hereafter referred to as “LCS” or “LBA”) that is located outside of the wireless network may desire to use such location/position information. However, to retrieve the location information, the LBA must request (also referred to as “pull”) the location/position from the wireless location server (also referred to as a mobile position server) that is located within the wireless network each time the location is required. In response to the request, the wireless location server individually polls each mobile station to determine their location/position and provides the results to the LBA.
The prior art methodology presents many problems and limitations. For example, the prior art fails to provide the capability for a wireless network to automatically detect a proximity event (e.g., using a trigger) and alert/notify a LBA (e.g., notify the LBA if a child with a mobile station leaves the school premises during school hours on weekdays). To provide such functionality, applications/LBA must typically continuously poll the wireless location server (e.g., every minute or two) to detect if there are interesting location events. This increases the load on the mobile position server by several orders of magnitude, and severely impacts the throughput (and therefore hardware performance and cost). Further, the absence of a location trigger on the wireless network has resulted in each application/LBA provider building custom/proprietary mechanisms for detecting proximity events. Such mechanisms are fragmented and/or replicated at the application tier at each application provider site. The problems of the prior art may be better understood by describing prior art wireless networks and location based services.
FIG. 1 illustrates the configuration for a prior art wireless network and location based application. Wireless network 100 provides the ability for communication between multiple devices. For example, mobile stations (MS) 102 (including mobile phones, wireless personal digital assistants, etc.) may communicate with each other on wireless network 100. The wireless network 100 has the capability to detect the location of an MS 102. Location server 104 interfaces with the MS 102 to determine and provide the MS 102 locations to devices outside of the network 100.
Various applications may provide services that are based on the location of one or more MS 102. Such applications are referred to as location based applications 106. In the prior art, LBAs 106 are executed outside of the wireless network 100 by a location services client 108. To provide a location based service, the LBA 106 must know the location of the MS 102 on the wireless network 100. A mobile location protocol (MLP) is an application-level protocol for getting the position of MS 102 independent of underlying network 100 technology. In other words, the MLP provides a protocol for querying the position of the MS 102. The MLP serves as the interface between a location server 104 and an LBA 106 (and location based client 108 providing the LBA). As illustrated in FIG. 1, the LBA 106 or LCS client 108 may first issue a request 110 (in the MLP) for an MS 102 location from location server 104. The location server 104 will poll the individual MS devices 102 and provide the location in a (MLP based) response 112 to the LCS client 108.
The LBAs 106 of the prior art obtain the location of a MS 102 by using one of three basic methods as described in LIF MLP 3.0 (June 2002) (Location Inter-Operability Forum Mobile Location Protocol) (for commercial applications) which is incorporated by reference herein: (1) Standard Location Immediate Service; (2) Standard Location Reporting Service; and (3) Triggered Location Reporting Service.
The Standard Location Immediate service is a service used for requesting the location of more of more MS 102 when a location response is required immediately (within a set time). Thus, a single response from the location server 104 is reported to the LCS client 108 or LBA 106 immediately (i.e., prior to the expiration of a set time).
The Standard Location Reporting Service enables a MS 102 to have the MS 102 sent to an LBA 106/LCS client 108. Thus, when an MS 102 wants an LBA 106 or LCS client 108 to receive the MS 102 location, a standard location report is generated. The LBA 106 or LCS client 108 that the location report should be sent to is specified by the MS 102 or defined within the location server 104.
The triggered location reporting service is used when an LBA 106 or LCS client 108 wants the position of a list of MS 102 to be tracked and reported to the LBA 106/LCS 108 based on a trigger (such as at a specific time interval or on the occurrence of a specific event). As specified in the LIF MLP 3.0 document, the triggers specified in the prior art may comprise a periodicity time defined by an interval or an MS 102 action, defined as when the MS 102 is available (i.e., when the MS 102 regains a connection with the network 100 after having been lost).
The standard location immediate service and standard location reporting service have been implemented in various GMLC (gateway mobile location center) elements in the prior art networks 100. However, the triggered location reporting service identified in the LIF MLP 3.0 merely provides a protocol that could be used if and when a triggered reporting service is offered.
LBAs 106 may provide various useful functionalities. Popular and desirable LBAs 106 include friend finders, fleet trackers, pet/child monitors, and location sensitive coupon push services. A friend finder application allows one friend using an MS 102 to determine when another friend is in a defined proximity. A fleet tracker application provides the ability for a business to track a fleet of employees, trucks, etc. A pet/child monitor provides the ability to determine when a pet/child leaves or enters a defined area. The location sensitive coupon push service provides the ability to determine when a MS 102 is in proximity to a particular business and to send a coupon for goods or services offered by the business. All of these LBAs 106 are based primarily on location trigger events. However, such location trigger events are not available in prior art systems.
As described above, the problems with such LBAs 106 are numerous. Firstly, the trigger events require spatial analysis by location server 104, a capability that is not an inherent part of the prior art wireless networks 100. Further, prior art capacity requirements for standard location services are significantly less than that required for conducting the desired spatial analysis. This capacity problem is further exacerbated since each LBA 106 continuously polls (i.e., requests 110) the location server 104 to detect these trigger events. For example, a friend finder application would continuously poll the location server 104 with requests 110 (e.g., every two minutes), to determine if members of the friend group are within the specified proximity. In the absence of the triggers, a single execution of such a use case can produce several thousand requests 110 per friend group, in a single hour.
In view of the above, the problems of the prior art systems may be summarized as usability limitations and capacity stress on the location server 104. With respect to usability, the absence of location trigger service on/at the wireless network 100 means that each application is required to replicate a proprietary mechanism for determining proximity events for use cases like the friend finder, fleet tracker, coupon push, etc. These mechanisms are fragmented and/or replicated at the application tier (by each application provider).
With respect to the capacity and stress on the location server 104, the popularity of LBAs 106 combined with application architectures that rely on continuously polling the location server 104 results in location server 104 requests 110 increasing by several orders of magnitude. Additionally, the peak load adds significant spikes to the server 104 load (e.g., end of the work day for a friend finder application).
In view of the above, it would be desirable to have an application based on in network “push based” or spatial trigger capability. Such a trigger capability would automatically detect proximity events and alert the applications. For example, a user could be notified if a friend is within 1 mile of the user's current location between 3-5 P.M. so that the user can invite the friend to a game of golf. Alternatively, the user could be notified if the user's child leaves the school premises during school hours on weekdays. Further, a coffee shop owner could be notified that a preferred customer is within walking distance and mail out a discount coupon over the wireless network 100 to the customer (thus attracting immediate business). Prior art wireless networks 100 lack such capabilities. Further, the lack of such capabilities creates the aforementioned problems.